package com.fastloan.jn.mgt.process.service;


import com.fastloan.jn.mgt.process.core.ReturnData;
import com.fastloan.jn.mgt.process.exception.AppApproveException;
import org.springframework.stereotype.Component;

/**
 * 进件流程服务层接口
 *
 * @author rankai
 *         createTime 2017-02-2017/2/6 9:41
 */
@Component
public interface ProcessService {

    /**
     * 审批
     *
     * @param applicationId 进件
     */
    void applicationApproval(String applicationId) throws AppApproveException;

    /**
     * 添加审批用户
     *
     * @param appApproveOneId
     * @return false:节点结束 true:增加节点完成
     */
    ReturnData addAppApproveUser(String appApproveOneId) throws AppApproveException;

    /**
     * 退回节点
     *
     * @param appApproveId    原节点ID
     * @param newAppApproveId 新节点ID
     */
    void returnApprove(String appApproveId, String newAppApproveId);

    /**
     * 批量更新状态
     *
     * @param appApproveId
     */
    void updateAppApprove(String appApproveId);

}